// pages/video/video.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 导航列表数据
    navList: [],
    // 当前展示视频的导航id
    navId: "",
    // 视频列表数据
    videoList: [],
    // 当前播放的视频id
    nowPlayVideoId: null,
    // scroll下拉刷新动画显示
    isTriggered: true,
  },
  // scroll下拉刷新视频列表
  handlePullDown() {
    //  请求视频列表数据
    this.getVideos();
    this.setData({ isTriggered: false });
  },
  // scroll上拉触底加载更多
  scrollToLower(){
    console.log('ddddddd');
    // 由于没有请求更多的接口，模拟使用
    if(this.loading)return
    this.loading=true
      setTimeout(() => {
        const newVideoList=this.data.videoList.slice(0,5).map((item)=>{
          return{
            ...item,id:item.id.slice(-13)+new Date().getTime()
          }
        })
        this.setData({
          videoList:[...this.data.videoList,...newVideoList]
        })
        this.loading=false
      }, 1000);
  },

  // 请求导航栏数据
  async getNavList() {
    const res = await wx.$request("/video/group/list", { uid: 6365492016 });
    const navList = res.data.slice(0, 30);
    this.setData({
      navList,
      // navId默认为第一个列表数据id
      navId: navList[0].id,
    });
    return navList;
  },
  // 请求指定视频列表
  async getVideos() {
    // 清空原有的数据
    this.setData({ videoList: [] , nowPlayVideoId: null});
    // 显示等待提示
    wx.showLoading({
      title: "加载中",
    });
    // 请求一个类别的视频
    const video = await wx.$request("/video/group", { id: this.data.navId });
    this.setData({
      videoList: video.datas.map((item) => {
        const { data } = item;
        return {
          id: data.vid,
          title: data.title,
          coverUrl: data.coverUrl,
          praisedCount: data.praisedCount,
          commentCount: data.commentCount,
          creator: data.creator.avatarUrl, //作者头像
          nickname: data.creator.nickname,
          videoUrl: data.urlInfo.url,
        };
      }),
    });
    // 取消等待提示
    wx.hideLoading();
  },
  // 选择导航请求视频
  changeNavId(e) {
    const navId = e.currentTarget.dataset.id;
    this.setData({ navId });
    this.getVideos();
  },
  // 点击封面图片切换为视频展示，并且自动播放视频
  showVideo(e) {
    this.setData({ nowPlayVideoId: e.currentTarget.dataset.id });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: async function () {
    // 有权限要求，要求登录才有权限访问
  if(wx.$hasPermission())return; 
    // 请求导航栏数据
    await this.getNavList();
    //  请求视频列表数据
    await this.getVideos();
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: async function () {
    wx.showLoading({
      title: "加载中。。。",
    });
    this.setData({ navList: [], videoList: [] }),
      // 请求导航栏数据
      await this.getNavList();
    //  请求视频列表数据
    this.getVideos();
    wx.hideLoading();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function ({from,target}) {
    if(from==='menu'){
      // console.log('用户点击menu转发');
      return {
        title:"音乐天地",
        path:"/pages/index/index",
        imageUrl:"/static/images/logo.png"
    }
    }else{
      // console.log('指定转发某个片段');
      const {title,imageurl} = target.dataset;
      return{
          title,
          path:"/pages/video/video",
          imageUrl:imageurl
      }
    }
  },
});
